#ifndef __MYSERIAL_H
#define __MYSERIAL_H

#include <stdint.h>
#include <stdio.h>

#include "FreeRTOS.h"
#include "queue.h"

#define UART0_BUF_LEN 256 // 串口消息缓冲区大小
#define UART2_BUF_LEN 256 // 串口消息缓冲区大小

typedef struct{
  uint8_t *data;
  uint16_t len;
  uint8_t period;
}uartBuf_t;

extern uartBuf_t uart0Buf;
extern QueueHandle_t uart0Queue;
extern uartBuf_t uart2Buf;
extern QueueHandle_t uart2Queue;

void serial_init(void);
void Uart0_Init(uint32_t baud);
void Uart1_Init(uint32_t baud);
void Uart2_Init(uint32_t baud);
void Uart3_Init(uint32_t baud);
void Uart5_Init(uint32_t baud);
void Uart6_Init(uint32_t baud);
void UART_send_bytes(uint32_t ui32Base, uint8_t *buf, uint32_t len);
#endif
